<!DOCTYPE html>
<html lang="en">

<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
</head>

<body>
    <script>
        /*
             map() 方法创建一个新数组，这个新数组由原数组中的每个元素都调用一次提供的函数后的返回值组成 
             
             参数:
                callbackFn
                为数组中的每个元素执行的函数。它的返回值作为一个元素被添加为新数组中。该函数被调用时将传入以下参数：
                    element:数组中当前正在处理的元素。
                    index:正在处理的元素在数组中的索引。
                    array:调用了 map() 的数组本身。

                thisArg 可选
                执行 callbackFn 时用作 this 的值。参见迭代方法。

            返回值:
                一个新数组，每个元素都是回调函数的返回值。
         */

        const array = [1, 4, 9, 16];
        const newArray = array.map(function (item, index, array) {
            console.log(index, item, array);
            return item*2
        })
        console.log(newArray);
    </script>
</body>

</html>